﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Windows;

namespace GObject
{
    public partial interface IGObjectBase:IEnumerable<IGObjectBase>
    {
        IList<IGObjectBase> Dependencies { get; set; }
        IList<IGObjectBase> Dependents { get; set; }

        IGObjectBase Clone();

        string Name { get; set; }
        bool Exists { get; set; }
        bool Selected { get; set; }
        bool Enabled { get; set; }
        bool Locked { get; set; }

        /// <summary>
        /// Usually the geometric centroid. Defined in IFigure for labeling purposes. Figures without geometric centers should return a sensible value. Default is (0,0).
        /// </summary>
        Point Center { get; }
    }
}
